home *** CD-ROM | disk | FTP | other *** search
/ Netware Super Library / Netware Super Library.iso / mhs_mail / xgate3 / whatsnew.doc < prev    next >
Encoding:
Text File  |  1993-12-15  |  19.1 KB  |  365 lines

  1. ┌─────────────────────────────────────────────────────────────────────────────┐
  2. │                                WHATSNEW.DOC                                 │
  3. └─────────────────────────────────────────────────────────────────────────────┘
  4.  
  5.  
  6.                                  Version 2.13
  7. -------------------------------------------------------------------------------
  8. 46. If you were using the MHS_DEFAULT_HOST option in XGATE.CFG to tell XGATE
  9.     to use the name of your workgroup for inbound SMTP messages that don't
  10.     specify the name of the destination MHS hub, it should no longer be
  11.     necessary.  A long time ago I inadvertently started using the local MHS
  12.     hub name instead of the workgroup name in NETDIR.TAB, which is now fixed.
  13.  
  14. 47. Made a final correction to native SMF-71 support.  XGATE now properly
  15.     handles messages written in its mv\MHS\MAIL\GATES\name\OUT directory that
  16.     have an SMF-71 envelope.
  17.  
  18. 48. Scanning for the vector that the installed FTP kernel is using is now
  19.     done before XGATE tries to load XSMTP.  If the FTP kernel isn't found,
  20.     XGATE will not try to load XSMTP.  If you are using Charon as the SMTP
  21.     server, it is now not necessary to rename or delete XSMTP.BIN so that
  22.     XGATE doesn't try to load it.
  23.  
  24. 41. Added a new XGATE.CFG file option called RESOLVE_MINUTES=nn.  If this
  25.     variable is set, XSMTP will return outbound SMTP messages that fail to
  26.     resolve the host name after the specified number of minutes have expired.
  27.     If a relay host is defined, this option will probably have no effect
  28.     since the next cycle will pass the unresolved message to the relay.
  29.  
  30.     If XSMTP has the same level of reliability in reaching the Internet that
  31.     your relay host does, this change should make XSMTP cleaner about returning
  32.     delivery errors to your users (than a Unix box usually is) if you're
  33.     inclined to disable the relay host.
  34.  
  35. 42. Now uses different format in the client record area of outbound SMTP queue
  36.     jobs - BE SURE THE OUTBOUND SMTP QUEUE IS EMPTY before installing this
  37.     version of XGATE.
  38.  
  39. 43. You can now locally define some SMTP host names in a file called "HOSTS"
  40.     (such as nicknames/shortnames for commonly used hosts).  The format of the
  41.     HOSTS file follows the normal syntax, use one line for each host beginning
  42.     with its IP address.  For example:
  43.  
  44.       129.194.30.5    ns-nic
  45.       128.9.0.107    isi    a.isi.edu
  46.  
  47.  
  48.     As indicated, more than one name can be given for a host.  Comments can
  49.     be used by preceding them with a semi-colon or pound sign.
  50.  
  51.     The contents of the HOSTS file are read at startup and held in memory,
  52.     so don't get too carried away with adding a lot of names.  Changes to the
  53.     HOSTS file won't take effect until XGATE is restarted.  When resolving a
  54.     host name, XSMTP first scans the cached image of the HOSTS file.  If the
  55.     entry is resolved, the name lookup immediately terminates - otherwise
  56.     the list of name servers is used as before.
  57.  
  58. 44. This doesn't have much to do with E-Mail, but I couldn't resist....
  59.     XSMTP now responds to name server queries.  Previously it used to ignore
  60.     them.  If XSMTP receives a name server query, it immediately scans the
  61.     cached image of the HOSTS file and sends a reply if the name is found.
  62.     If the name isn't resolved by the HOSTS file, although this is unorthodox,
  63.     XSMTP immediately rebroadcasts the query to all name servers defined and
  64.     logs the request in a working table.  As soon as one of the name servers
  65.     provides a positive reply, XSMTP relays the response back to the requesting
  66.     station and closes out the active request.  If a late reply comes in from
  67.     one of the other name servers, it is discarded.  XSMTP will timeout active
  68.     requests if a positive response isn't received within 20 seconds.
  69.  
  70.     XSMTP performs this service asynchronously as a background task.  It is
  71.     a very high performance solution to simplify and expedite name server
  72.     lookup's for client workstations.  Workstation name server configurations
  73.     can be reduced to sending just one query to XGATE and still have the
  74.     benefity of being able to resolve names using all the name servers XSMTP
  75.     knows about, in a parallel fashion rather than one by one....
  76.  
  77.  
  78.                                  Version 2.14
  79. -------------------------------------------------------------------------------
  80. 45. The XGATE.CFG option "append_ascii_atch" was renamed to
  81.     "append_ascii_attach" in order to be consistent with other options
  82.     involving file attachments.
  83.  
  84. 46. Fixed a problem induced by Ver 2.13 where XSMTP might contaminate the
  85.     undeliverable hours accumulated against a message, which could result
  86.     in a lot of redundant warning messages going back to the sender.
  87.  
  88.  
  89.                                  Version 2.15
  90. -------------------------------------------------------------------------------
  91. 47. XGATE now reacts differently to the "Sender:" field versus the "From:"
  92.     field when parsing an MHS message.  Previously XGATE was just taking
  93.     the Sender: field and calling it the From: field when building outbound
  94.     SMTP messages.  This worked ok until NGM started building distribution
  95.     lists with the Sender: field formated with where errors should go, and
  96.     the From: field with who sent the message.  Now, the two fields are built
  97.     separately in the outbound SMTP message, based on their individual values.
  98.     Inversely, when parsing an SMTP message, XGATE has always handled the two
  99.     fields separately.
  100.  
  101. 48. When sending a copy of a delivery error that was generated by "-Maiser-"
  102.     to the administrator, XGATE now builds the Reply-To: address of that
  103.     message with the sending SMTP user's address.  Depending on whether your
  104.     MHS E-Mail application handles the Reply-To: field, this can make it a
  105.     lot easier for you the administrator to reply back to the sender with
  106.     some type of help message.
  107.  
  108.  
  109.                                  Version 2.16
  110. -------------------------------------------------------------------------------
  111. 49. Changed the connect timeout logic to use the internal FTP Kernel timeout
  112.     rather than XSMTP keeping track of the time expired.  Actually, what
  113.     happens now is that the connect timeout (specified in XGATE.CFG) is used
  114.     to set the error timeout for each net descriptor opened with the FTP
  115.     kernel, so don't set it too low!  (Specifying a connect timeout below
  116.     5 in XGATE.CFG now results in 5 seconds being used.)
  117.  
  118. 50. When the inactivity timeout expires in the XSMTP monitor, or when the
  119.     monitor is exited with a keyboard command, any filter that was active
  120.     is now reset.
  121.  
  122. 51. If XGATE is run with NGM 2.0, it will write inbound MHS messages into
  123.     the mv\MHS\MAIL\GATES\gw_name\IN directory instead of mv\MHS\MAIL\SND.
  124.     This should remove the need to disable sender validation under NGM
  125.     (if it was only turned off to get XGATE working).
  126.  
  127.  
  128.                                  Version 2.17
  129. -------------------------------------------------------------------------------
  130. 52. If XGATE is run with the -s switch, it no longer allocates the memory
  131.     buffers that are used to do MHS message conversion.
  132.  
  133. 53. When listen sockets are recycled by XSMTP (occurs after 30 minutes of
  134.     not receiving a listen connection), the event is no longer logged in
  135.     the scroll-back buffer.
  136.  
  137. 54. A small activity wheel is now displayed in the lower right corner of
  138.     XSMTP's monitor when no other flags are active (i.e. scroll-back or
  139.     filtering).  The reason why is so some indication of a heartbeat can
  140.     be seen if running with the -S (SMTP only) switch, and also so I could
  141.     tell if/when the TCP/IP transport kernel ever blocks the system for
  142.     lengthy periods.
  143.  
  144.  
  145.                                  Version 3.00
  146. -------------------------------------------------------------------------------
  147. 55. XGATE and XSETUP executables are now .EXE files.  Make sure you delete
  148.     XGATE.COM and XSETUP.COM.
  149.  
  150. 56. XGATE and XSETUP now use encrypted password calls if running on NetWare
  151.     3.x or higher.  If you had enabled unencrypted passwords just to run
  152.     XGATE, and wish to no longer allow them - you can now turn them off.
  153.  
  154. 57. After trying to do a version of XGATE that supported LAN WorkPlace, and
  155.     then giving up cause it wouldn't run reliably for any period of time, and
  156.     then ordering Wollongong's PathWay SDK only to find they don't support
  157.     asynchronous calls, I finally gave up on using a 3rd party TCP/IP driver
  158.     and sat down to write our own - that was two months ago....
  159.  
  160.     The new TCP/IP protocol stack (tenatively named Mach 2) is pure high
  161.     performance (totally in assembler like XGATE and XSMTP) but it was also
  162.     developed for long-term stability.  It loads automatically when you run
  163.     XGATE, so there's nothing to load beforehand.  The stack runs directly
  164.     on top of either Novell ODI drivers or Clarkson Packet Drivers (or both
  165.     if so desired).
  166.  
  167.     There isn't much to using it instead of the FTP kernel, just stop
  168.     loading ETHRDRVR before running XGATE, and make appropriate changes to
  169.     the new BIND and ROUTE commands at the end of XGATE.CFG.
  170.  
  171.     Using ODI drivers is slightly preferred over Packet Drivers because
  172.     Novell's ECBs (Event Control Blocks) can receive packets fragmented
  173.     across multiple buffers (which the stack takes full advantage of to
  174.     manage memory buffers efficiently).  When run with a Packet Driver,
  175.     the stack emulates the use of ECB's - but still can't make the driver
  176.     read a packet into non-contiguous buffers.
  177.  
  178.     We'll probably release more applications for use with the stack soon,
  179.     and also release the stack itself as a kernel for in-house TCP/IP
  180.     development.  There's a few new menu options that have been added under
  181.     XSMTP's monitor to go along with the new stack (a number of tables can
  182.     be viewed, a new PING option, a Check Route option, etc...), so poke
  183.     around a little bit to find everything new.
  184.  
  185.     If you're using ODI drivers, the only change necessary is to bind an
  186.     "Ethernet_II" frame to the board in NET.CFG.
  187.  
  188.     For example:
  189.  
  190.        Link Driver NE2000
  191.               PORT 300
  192.               INT 5
  193.               MEM D0000
  194.               FRAME Ethernet_802.3
  195.               FRAME Ethernet_II
  196.  
  197.     If you're using Packet Drivers - there's no change necessary, just
  198.     don't run the FTP kernel.
  199.  
  200.     The new stack can simultaneously support 100 open sockets, so you may
  201.     want to change the "max_xmit_processes" option in XGATE.CFG to a higher
  202.     number.  The only reason why we've kept the "max_xmit_processes" option
  203.     is because you still can't open more than 40 simultaneous sessions (by
  204.     default) unless you raise the number of file handles in NET.CFG.
  205.  
  206. 58. XGATE now stops scanning for outbound MHS mail if the SMTP outbound
  207.     mail queue has reached 250 messages.  This needed to be done because
  208.     a NetWare job queue can only hold 255 messages.  If another job is
  209.     posted after 255 messages are queued, the queue rolls over to zero
  210.     messages and all previous jobs are lost.
  211.  
  212. 59. When the number of queued outbound SMTP messages exceeds 20, the "MailQ"
  213.     display now starts to blink.
  214.  
  215. 60. XGATE now resolves its own host name without querying the name servers.
  216.     (Like why hadn't it done this before?)
  217.  
  218. 61. XSMTP will now accept an inbound SMTP message with a null "MAIL FROM:<>"
  219.     field instead of generating a 501 Syntax Error.  Null "MAIL FROM:" fields
  220.     are permissible under RFC-821 when the intent is to keep error messages
  221.     (and other types of notifications) from generating error messages.  A null
  222.     RCPT FROM: field technically won't stop XGATE from returning an error
  223.     though - because it still just simply hands all inbound messages to MHS
  224.     and if MHS wants to generate an error, XGATE doesn't question it.
  225.  
  226. 62. Added a new command line switch, -M, which forces MHS-mode only.  This
  227.     is now needed if for some reason you want to split XGATE across two
  228.     computers - one for SMTP (uses the -S switch) and one for MHS (using the
  229.     new -M switch).  Previously you could just not load the FTP kernel on the
  230.     computer that would only do the MHS message conversion engine and since
  231.     XGATE wouldn't see the FTP kernel it wouldn't load XSMTP - but now XGATE
  232.     will try to run its own TCP/IP stack with XSMTP if it sees an ODI driver
  233.     or a Packet Driver (which covers a lot of normal driver configurations)
  234.     so we needed a new switch to explicitly tell XGATE not to load the TCP/IP
  235.     stack.  If this doesn't make any sense - don't lose sleep.  Its mainly
  236.     for debugging purposes.
  237.  
  238. 63. The old use of the -I command line switch (to service SMTP process from
  239.     within the MS-DOS function dispatcher) has been renamed to -P.  The -I
  240.     switch is now used to enable ICMP messages within the XSMTP monitor.
  241.  
  242. 64. When returning a -Maiser- error message to an SMTP user, the address
  243.     the message is sent to is now based on what was passed to XGATE at the
  244.     RFC-821 (mailer level) "MAIL From:" field when XGATE first received the
  245.     original message.  Previously, XGATE would always use what was passed
  246.     in the MHS "Send-To:" header field, which MHS would have constructed
  247.     based on what was in the "Sender:" field of the problem message.  Well
  248.     sometimes a SMTP message has a Sender: field for a different reason, so
  249.     we couldn't just set the Sender: field with the RFC-821 "MAIL From:"
  250.     field.  So what we're doing now is saving what was passed as the RFC-821
  251.     "MAIL From:" value as a separate X-SMTP-Envelope-From: field in the MHS
  252.     message, and using it for the return address if the message is an error
  253.     report from -Mailser-.
  254.  
  255.     In SMTP non-delivery notices are usually detected and handled at the
  256.     RFC-821 level (the handshaking that occurs between SMTP's), not at the
  257.     RFC-822 level where the message header is processed.  By consuming some
  258.     extra disk I/O and CPU utilization, SMTP processes running in the back-
  259.     ground could validate users before saying "250 <....> Recipient OK.
  260.     But that would only work for users on the local MHS host, so this is
  261.     what we ended up with.  The reason for the change is that sometimes the
  262.     RFC-821 "MAIL From:" address is different than the RFC-822 "Sender:",
  263.     especially in the case of when a message comes from a list server.  In
  264.     this case, its important that non-delivery notifications go back to
  265.     the RFC-821 "MAIL From:", so that the delivery error won't get echoed
  266.     to everyone on the list server (cause a lot of list servers don't set
  267.     the RFC-822 "Sender:" field to an error mailbox).
  268.  
  269. 65. MHS message processing is now handled as a process like individual SMTP
  270.     processes are.  This means that while the XSMTP monitor is active, MHS
  271.     scanning and processing will now still occur.  As a result, the automatic
  272.     timeout where the XSMTP monitor would return to the MHS activity screen
  273.     after 15 minutes of inactivity has now been disabled.
  274.  
  275. 66. MHS gateway activity now has its own scroll-back buffer.  This means the
  276.     "scroll-back_lines" parameter in XGATE.CFG to define XSMTP's scroll-back
  277.     buffer had to be renamed to support another one for MHS.  So now there's
  278.     two scroll-back fields in XGATE.CFG:
  279.  
  280.         mhs_scrollback_lines    50      ;MHS Activity scroll back lines.
  281.         smtp_scrollback_lines   100     ;SMTP Monitor scroll back lines.
  282.  
  283. 67. A new XGATE.CFG option, PING, allows a host to be PING'd on a recurring
  284.     basis.  This could be useful if your access to the Internet is through
  285.     a dial-in link that disconnects after a period of inactivity, and you
  286.     want something to generate recurring traffic through the link so that
  287.     the inactivity timeout won't occur.
  288.  
  289.     The format of the PING command is:
  290.  
  291.         PING <ip_address> [minutes]
  292.  
  293.     The ip_address is the host you want to Ping.  Minutes is the number of
  294.     minutes inbetween Ping's generated.  If it isn't given, a value of 1 is
  295.     assumed.
  296.  
  297.     Ping activity generated by this option won't show in XSMTP's monitor
  298.     unless XGATE is started with the -I (ICMP) command line switch.
  299.  
  300.     Only one PING command can be active in XGATE.CFG.
  301.  
  302. 68. The NATIVE_SMF71 option in XGATE.CFG can now be enabled even if NETDIR.TAB
  303.     indicates a SMF version older than 71.  This allows raw SMTP addressing
  304.     (raw = without an MHS extended address) to work when XGATE is used with
  305.     a message router that supports domain or hint routing but isn't a SMF-71
  306.     router.
  307.  
  308. 69. The -P command line switch (change #64) has been permamently retired.
  309.     Its functionality is now built-in (per change #66).
  310.  
  311. 70. XGATE no longer logs itself in as a job server when it starts.  Instead,
  312.     either a valid user with the proper SMTP queue privileges must already be
  313.     logged in when XGATE is started or, a user name (and optional password)
  314.     can now be specified on the command line.
  315.  
  316.     When XGATE is quit, it now no longer logs itself out either.
  317.  
  318.     So this is now basically pretty close to the same way you start up MHS.
  319.  
  320.     To grant the right SMTP queue privileges to an existing user account,
  321.     XGATE's Setup program now has an option to do that.
  322.  
  323.     The advantage of switching to this approach is that you can now stick
  324.     XGATE out on a file server volume without going through the previous
  325.     headaches (and such things as print mappings will now remain in place).
  326.  
  327.     If you still want XGATE to do the login for you, you can now specify a
  328.     user name (and optional password) as parameters on XGATE's command line
  329.     and it will attempt to login as that user when starting up.
  330.  
  331.     For example:
  332.  
  333.        XGATE xgate[,password]
  334.  
  335.     If the user account has a password assigned, then it must be expressed
  336.     on the command line - XGATE will not prompt for it.
  337.  
  338.     (Command line switches may be located either in front of or in back of
  339.     the login name or password.)
  340.  
  341. 71. NSLookups launched as part of a Telnet/25 or Ping process are no longer
  342.     verbose unless the -N switch is used at startup.
  343.  
  344.  
  345. 72. Free'd up about 40K of memory by consolidating a couple buffers.
  346.  
  347. 73. The <Tab> key now works to rotate between the Gateway Activities screen
  348.     and the SMTP Monitor.
  349.  
  350. 74. When decoding a uuencoded block of text, XGATE no longer considers a
  351.     truncated line to be an error (a line that has fewer characters before
  352.     the Cairrage Return than what the 1st control character indicated should
  353.     be there).  Instead, XGATE now assumes that the remaining characters were
  354.     trailing spaces that had been removed by a text editor (some Unix editors
  355.     have this "feature").
  356.  
  357. 75. Added a new option in XGATE.CFG (static_reply_address=Y|N) that allows
  358.     an alternate reply address format of "gateway @ workgroup {smtp_address}".
  359.     If mail is addressed to an SMTP user with XGATE's gateway name in the
  360.     user name position, and the workgroup name in its normal position, MHS
  361.     will still route the message just fine to XGATE.  If you'd prefer to use
  362.     this style of addressing (or find its easier to describe to MHS users),
  363.     try enabling the "static_reply_address" option.
  364.  
  365.